home *** CD-ROM | disk | FTP | other *** search
/ SGI Freeware 1999 August / SGI Freeware 1999 August.iso / dist / fw_xemacs.idb / usr / freeware / lib / xemacs-20.4 / lisp / custom / cus-load.el.z / cus-load.el
Encoding:
Text File  |  1998-05-21  |  2.0 KB  |  65 lines

  1. ;;; cus-load.el --- Batch load all available cus-load files
  2.  
  3. ;; Copyright (C) 1997 by Free Software Foundation, Inc.
  4.  
  5. ;; Author: Steven L Baur <steve@altair.xemacs.org>
  6. ;; Keywords: internal, help, faces
  7.  
  8. ;; This file is part of XEmacs.
  9.  
  10. ;; XEmacs is free software; you can redistribute it and/or modify it
  11. ;; under the terms of the GNU General Public License as published by
  12. ;; the Free Software Foundation; either version 2, or (at your option)
  13. ;; any later version.
  14.  
  15. ;; XEmacs is distributed in the hope that it will be useful, but
  16. ;; WITHOUT ANY WARRANTY; without even the implied warranty of
  17. ;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  18. ;; General Public License for more details.
  19.  
  20. ;; You should have received a copy of the GNU General Public License
  21. ;; along with XEmacs; see the file COPYING.  If not, write to the Free
  22. ;; Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA
  23. ;; 02111-1307, USA.
  24.  
  25. ;;; Synched up with: Not in FSF
  26.  
  27. ;;; Commentary:
  28.  
  29. ;; In FSF all of the custom loads are in a single `cus-load' file.
  30. ;; However, we have them distributed across directories, with optional
  31. ;; incremental loading.  Here we simply collect the whole set.
  32.  
  33.  
  34. ;;; Code:
  35.  
  36. (require 'custom)
  37.  
  38.  
  39. (defun custom-add-loads (symbol list)
  40.   "Update the custom-loads list of a symbol.
  41. This works by adding the elements from LIST to the SYMBOL's
  42. `custom-loads' property, avoiding duplicates.  Also, SYMBOL is
  43. added to `custom-group-hash-table'."
  44.   (let ((loads (get symbol 'custom-loads)))
  45.     (dolist (el list)
  46.       (unless (member el loads)
  47.     (setq loads (nconc loads (list el)))))
  48.     (put symbol 'custom-loads loads)
  49.     (puthash symbol t custom-group-hash-table)))
  50.  
  51. (message "Loading customization dependencies...")
  52.  
  53. ;; Garbage-collection seems to be very intensive here, and it slows
  54. ;; things down.  Nuke it.
  55. (let ((gc-cons-threshold 10000000))
  56.   (mapc (lambda (dir)
  57.       (load (expand-file-name "custom-load" dir) t t))
  58.     load-path))
  59.  
  60. (message "Loading customization dependencies...done")
  61.  
  62. (provide 'cus-load)
  63.  
  64. ;;; cus-load.el ends here
  65.